package me.huanmeng.heater.command;

import lombok.Getter;
import me.huanmeng.heater.sender.Channel;
import me.huanmeng.heater.sender.CommandSender;
import org.jetbrains.annotations.NotNull;

import javax.annotation.Nullable;
import java.util.List;

/**
 * 2021/10/4<br>
 * Heater<br>
 *
 * @author huanmeng_qwq
 */
public abstract class Command {
    @Getter
    private String name;
    @Getter
    @Nullable
    private String[] aliases;

    public Command(String name,@Nullable String... aliases) {
        this.name = name;
        this.aliases = aliases;
    }

    public abstract void execute(@NotNull CommandSender sender, @Nullable Channel channel, @NotNull String label, @NotNull List<String> args);
}
